package com.qcq.wecheck.service;

import com.baomidou.mybatisplus.service.IService;
import com.qcq.wecheck.entity.Schedule;
import com.qcq.wecheck.entity.User;

import java.util.List;

/**
 * <p>
 * 签到表 服务类
 * </p>
 *
 * @author O
 * @since 2018-09-19
 */
public interface ScheduleService extends IService<Schedule> {
	/**
	 * 判断口令是否存在数据库
	 *
	 * @param schedule s
	 * @return bool
	 */
	boolean hasKeyword(Schedule schedule);

	/**
	 * 根据口令获取
	 *
	 * @param keyword keyword
	 * @return schedule
	 */
	Schedule selectByKeyword(String keyword);

	/**
	 * 添加一个考勤表
	 *
	 * @param schedule 考勤表
	 * @return boolean
	 */
	boolean addOne(Schedule schedule);

	/**
	 * 分页获取自己创建的签到表
	 *
	 * @param openId   id
	 * @param pageNo   no
	 * @param pageSize size
	 * @return list
	 */
	List<Schedule> getOwn(String openId, Integer pageNo, Integer pageSize);

	/**
	 * 分页获取自己参与的签到表
	 *
	 * @param openId   id
	 * @param pageNo   no
	 * @param pageSize size
	 * @return list
	 */
	List<Schedule> getEngaged(String openId, Integer pageNo, Integer pageSize);

	/**
	 * 根据id获取参与该考勤表的人的集合
	 *
	 * @param id   考勤表id
	 * @param date 日期(选择性)
	 * @return list
	 */
	List<User> getMember(Long id, String date);
}
